#define _CRT_SECURE_NO_WARNINGS

//#include<stdio.h>
//int my_strlen(char* str)
//{
//	char* ch = str;
//	while (*ch != '\0')
//	{
//		ch++;
//	}
//	return ch - str;
//}
//int main()
//{
//	char str[]="a b c";
//	int len = my_strlen(str);
//	printf("%d", len);
//	return 0;
//}

//#include<stdio.h>
//#include<string.h>
//#include<stdlib.h>
//double process(char** token)
//{
//	char* pre = *token;
//	*token = strtok(NULL," ");
//	if (*pre =='+')
//	{
//		double left = process(token);
//		double right = process(token);
//		return left + right;
//	}
//	if (*pre == '-')
//	{
//		double left = process(token);
//		double right = process(token);
//		return left - right;
//	}
//	if (*pre == '*')
//	{
//		double left = process(token);
//		double right = process(token);
//		return left*right;
//	}
//	if (*pre == '/')
//	{
//		double left = process(token);
//		double right = process(token);
//		return left/right;
//	}
//	return atof(pre);
//}
//int main()
//{
//	char str[100];
//	fgets(str, 100, stdin);
//	int len = strlen(str);
//	if (str[len - 1] == '\n')
//	{
//		str[len - 1] = '\0';
//	}
//	char* token = strtok(str," ");
//	double ret = process(&token);
//	printf("%f", ret); 
//	return 0;
//}

//#include<stdio.h>
//#include<string.h>
//int main()
//{
//	char str[100] = { 0 };
//	scanf("%s", str);
//	int len = strlen(str);
//	for (int i = len - 1; i >= 0; i--)
//	{
//		printf("%c", str[i]);
//	}
//	return 0;
//}

#include<stdbool.h>
#include<string.h>
#include<stdio.h>
char temp[6] = { 0 };
char str[6];
void process(char* str, int st, int en)
{
	bool flag;
	if (st < en)
	{
		for (int i = 0; i <= st; i++)
		{
			printf("%c", str[i]);
		}
		printf("\n");
		return;
	}
	else
	{
		for (int i = 0; i <= en; i++)
		{
			flag = false;
			for (int j = 0; j < st; j++)
			{
				if (str[j] == temp[i])
				{
					flag = true;
					break;
				}
			}
			if (!flag)
			{
				str[st] =temp[i];
				process(str, st + 1, en);
			}
		}
	}
}
int main()
{
	fgets(str, 6, stdin);
	int len = strlen(str);
	if (str[len - 1] == '\n')
	{
		str[len - 1] = '\0';
	}
	strcpy(temp, str);
	process(str, 0, len - 1);
	return 0;
}